Description:
Avoid testing floating point numbers for equality. Floating-point numbers that should be equal are not always equal due to rounding problems.
Incorrect:
function SomeClass.Calc(limit:double):double;
begin
if limit = 1.0 then
begin
...
end;
...
end;
Correct:
private const
EPS : double = 0.00001
function SomeClass.Calc(limit:double):double;
begin
if abs(limit - 1.0) < EPS then
begin
...
end;
...
end;